user_list = [
    {'username': 'enen', 'password': 'enen123', 'money': 100},
    {'username': 'haha', 'password': 'haha123', 'money': 0},
]
#登入
def check_user(user_name):    #获取用户ID 检查客户存不存在
    for user in user_list:
        #当user_name 是haha的时候  遍历userlist的字典给user_name对比
        if user_name == user['username']:
            #对比成功 则找到 {'username':'haha','password':'haha123','money':0},这个字典
            #对应的下表是1  然后再加1  这个加1是自己的设计上的
            print(user_list.index(user))
            return user_list.index(user)+1
def check_login(user_name,pass_word):  #验证账号
    for user in user_list:
        #user 是{'username':'haha','password':'haha123','money':0},
        #user['username']就是‘haha’
        if user_name == user['username'] and pass_word == user['password']:
            return True

def draw_money(uid):
    money = input('请输入取出金额：')
    while not money.isdigit():
        money = input('输入错误，请重新输入要取出的金额：')
    if int(money) <= user_list[uid]['money']:  #取款金额小于余额
        user_list[uid]['money'] -= int(money)
        print('-'*30)
        print('操作成功!此次取款：{:.2f}元，您的余额为：{:.2f}元'.format(int(money),user_list[uid]['money']))
        print('-'*30)
    else:  #取款金额大于余额
        print('-'*30)
        print('您的余额为：{:.2f}元，不足{:.2f}元，请重新操作！'.format(user_list[uid]['money'],int(money)))
        print('-' * 30)
def save_money(uid):
    money=input('请输入存款金额：')
    while not money.isdigit():
        money = input('输入错误，请重新输入要存入金额：')
    user_list[1]['money'] += int(money)
    print('-' * 30)
    print('操作成功！此次存入：{:.2f}元，您的余额为：{:.2f}元'.format(int(money),user_list[uid]['money']))
    print('-' * 30)
def zhuan_money(uid):
    zhuan_user = input('请输入转账用户：')
    zhuan_uid = check_user(zhuan_user)
    if zhuan_uid:   #转账用户存在
        money = input('请输入转账金额：')
        while not money.isdigit():
            money = input('输入错误，请重新输入转账金额：')
            if int(money)<= user_list[uid]['money']:   #转账金额小于余额
                user_list[uid]['money'] -= int(money)  #本账户扣款
                user_list[zhuan_uid - 1]['money'] += int(money)  #转账的账户增加
                print('-' * 30)
                print('操作成功！成功向{}转账：{:.2f}元，您的余额为：{:.2f}元'.format(zhuan_user,int(money), user_list[uid]['money']))
                print('-' * 30)

            else:   #转账金额大于余额
                print('-' * 30)
                print('您的余额为：{:.2f}元，不足{:.2f}元。请重新操作！'.format(user_list[uid],['money'], int(money)))
                print('-' * 30)

def main():  #程序主函数
    while True:
        print('='*20,'欢迎来到自动取款机','='*20)
        username = input('请输入你的账户：')
        uid = check_user(username)
        print(uid)
        if uid:
            password= input('请输入你的密码：')
            if check_login(username,password):  #密码正确
                print('-' * 20)
                print('登入成功！')
                print('-' * 20)
                while True:
                    print('''
                             1.查询
                             2.取款
                             3.存入
                             4.转账
                             5.退出''')
                    choice= input('请输入指令：')
                    if choice =='1': #查询
                        print('-' * 20)
                        print('您的余额为{:.2f}元'.format(user_list[uid-1]['money']))   #为什么是减1
                        print('-' * 20)
                    elif choice == '2':  #取款
                        draw_money(1)   #为什么里面写1

                    elif choice == '3':  #存入
                        save_money(uid - 1)

                    elif choice == '4':  #转账
                        zhuan_money(uid - 1)

                    elif choice == '5':  #退出
                        print('-' * 25)
                        print('当前账户退出成功！')
                        print('-' * 25)
                        break
                    else:
                        print('-' * 25)
                        print('指令错误，请重新输入！')
                        print('-' * 25)
            else:   #密码错误
                print('-' * 25)
                print('密码错误，请重新登入！')
                print('-' * 25)
        else:  #密码不存在
            print('-' * 25)
            print('账户不存在，请重新输入！')
            print('-' * 25)
main()




    
    
#余额查询
#取款
#存款
#修改密码
#登入界面
#退出